Many existing graphics rendering systems provide images, text and line work as “primitives”. The term primitive refers to a base graphical element used in the creation of a complex graphical image. In order to display video images on such graphics rendering systems, software applications executing on the systems need to constantly update the contents of image primitives. These software applications also have to process audio data associated with the image primitives. The need to update image primitives constantly makes it difficult for software applications to process multiple video streams, or to composite multiple video images and still images.
In order to improve the processing of multiple video streams, some existing graphics rendering systems provide video images as a series of image primitives. However, these rendering systems are typically limited in their ability to composite video with other video or still graphical primitives or to create special effects. Such rendering systems typically also require special hardware.
Thus a need clearly exists for an improved method and apparatus for rendering an image and, in particular, for rendering video images.